์ ๊ทผ์ฑ์ด ๋ฐ์ด๋๊ณ ์ฌ์ฉ์ ์นํ์ ์ธ ๋๋กญ๋ค์ด ๋ฐ ๋ฉ๊ฐ ๋ฉ๋ด๋ฅผ ์ ์ํ์ฌ ๋ค์ํ ๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํ ์ํํ ํ์์ ๋ณด์ฅํ๋ ์ข ํฉ ๊ฐ์ด๋์ ๋๋ค. ์ฌ์ฉ์ฑ, ARIA ๊ตฌํ ๋ฐ ๋ฐ์ํ ๋์์ธ์ ๋ํ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์์๋ณด์ธ์.
๋ฉ๋ด ํ์: ์ ์ธ๊ณ ์ฌ์ฉ์๋ฅผ ์ํ ์ ๊ทผ์ฑ ๋์ ๋๋กญ๋ค์ด ๋ฐ ๋ฉ๊ฐ ๋ฉ๋ด ์ ์
์น์ฌ์ดํธ ํ์์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ด์์ ๋๋ค. ์ ๊ตฌ์ฑ๋ ๋ฉ๋ด๋ฅผ ํตํด ๋ฐฉ๋ฌธ์๋ ํ์ํ ์ ๋ณด๋ฅผ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์ฐพ์ ์ ์์ด ์ฐธ์ฌ๋์ ์ ํ์จ์ด ๋์์ง๋๋ค. ๋๋กญ๋ค์ด ๋ฐ ๋ฉ๊ฐ ๋ฉ๋ด๋ ๊ด๋ฒ์ํ ์ฝํ ์ธ ๊ฐ ์๋ ์น์ฌ์ดํธ์ ๋๋ฆฌ ์ฌ์ฉ๋์ง๋ง, ์ฃผ์ํด์ ๊ตฌํํ์ง ์์ผ๋ฉด ๋ณต์ก์ฑ์ผ๋ก ์ธํด ์ ๊ทผ์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด ๊ฐ์ด๋์์๋ ๋ฅ๋ ฅ์ด๋ ์ฅ์น์ ๊ด๊ณ์์ด ๋ค์ํ ๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํ ์ ๊ทผ์ฑ ๋์ ๋๋กญ๋ค์ด ๋ฐ ๋ฉ๊ฐ ๋ฉ๋ด๋ฅผ ๋ง๋๋ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ดํด๋ด ๋๋ค.
์ ๊ทผ์ฑ ๋์ ํ์์ ์ค์์ฑ ์ดํด
์ ๊ทผ์ฑ์ ๋จ์ํ ๊ท์ ์ค์ ์๊ตฌ ์ฌํญ์ด ์๋๋ผ ํฌ๊ด์ ์ธ ๋์์ธ์ ๊ธฐ๋ณธ ์์น์ ๋๋ค. ์น์ฌ์ดํธ์ ์ ๊ทผ์ฑ์ ๋ณด์ฅํจ์ผ๋ก์จ ์ฅ์ ๊ฐ ์๋ ์ฌ๋, ๋ณด์กฐ ๊ธฐ์ ์ ์ฌ์ฉํ๋ ์ฌ๋, ๋ค์ํ ์ฅ์น์ ๋คํธ์ํฌ ์๋๋ก ์ฌ์ดํธ์ ์ก์ธ์คํ๋ ์ฌ๋์ ํฌํจํ์ฌ ๋ ๋ง์ ์ฌ์ฉ์์๊ฒ ์น์ฌ์ดํธ๋ฅผ ๊ฐ๋ฐฉํ ์ ์์ต๋๋ค. ์ ๊ทผ์ฑ ๋์ ํ์์ ๋ชจ๋ ์ฌ๋์๊ฒ ๋์์ด ๋๋ฉฐ ์ ์ฒด์ ์ธ ์ฌ์ฉ์ฑ๊ณผ ๊ฒ์ ์์ง ์ต์ ํ(SEO)๋ฅผ ํฅ์์ํต๋๋ค.
์ ๊ทผ์ฑ ๋์ ํ์์ ์ค๊ณํ ๋ ๋ค์ ์๋๋ฆฌ์ค๋ฅผ ๊ณ ๋ คํ์ญ์์ค.
- ์คํฌ๋ฆฐ ๋ฆฌ๋ ์ฌ์ฉ์: ์๊ฐ ์ฅ์ ๊ฐ ์๋ ๊ฐ์ธ์ ์คํฌ๋ฆฐ ๋ฆฌ๋๋ฅผ ์ฌ์ฉํ์ฌ ์น์ ํ์ํฉ๋๋ค. ์ด๋ฌํ ์ฌ์ฉ์๊ฐ ์ฌ์ดํธ์ ๊ตฌ์ฑ์ ์ดํดํ๊ณ ์ํ๋ ์ฝํ ์ธ ๋ฅผ ์ฐพ์ผ๋ ค๋ฉด ์ ์ ํ๊ฒ ๊ตฌ์กฐํ๋๊ณ ๋ ์ด๋ธ์ด ์ง์ ๋ ๋ฉ๋ด๊ฐ ์ค์ํฉ๋๋ค.
- ํค๋ณด๋ ์ฌ์ฉ์: ์ด๋ ์ฅ์ ๊ฐ ์๋ ์ฌ๋์ ํฌํจํ์ฌ ๋ง์ ์ฌ์ฉ์๊ฐ ํค๋ณด๋๋ฅผ ์ฌ์ฉํ์ฌ ์น์ฌ์ดํธ๋ฅผ ํ์ํฉ๋๋ค. ๋ฉ๋ด๋ ํญ ํค ๋ฐ ๊ธฐํ ํค๋ณด๋ ๋จ์ถํค๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํ ์ ์์ด์ผ ํฉ๋๋ค.
- ๋ชจ๋ฐ์ผ ์ฌ์ฉ์: ๋๋กญ๋ค์ด ๋ฐ ๋ฉ๊ฐ ๋ฉ๋ด๋ ์์ ํ๋ฉด์์ ํนํ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ๋ฐ์ํ ๋์์ธ๊ณผ ํฐ์น ์ํธ ์์ฉ์ ๋ํ ์ ์คํ ๊ณ ๋ ค๊ฐ ํ์์ ์ ๋๋ค.
- ์ธ์ง ์ฅ์ ๊ฐ ์๋ ์ฌ์ฉ์: ๋ช ํํ๊ณ ์ผ๊ด๋๋ฉฐ ์์ธก ๊ฐ๋ฅํ ํ์์ ์ธ์ง ์ฅ์ ๊ฐ ์๋ ์ฌ์ฉ์๊ฐ ์ฌ์ดํธ์ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ ํผ๋์ ํผํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ๋์ญํญ์ด ๋ฎ์ ์ฌ์ฉ์: ํฐ ์ด๋ฏธ์ง๋ ๊ณผ๋ํ ์ ๋๋ฉ์ด์ ์ด ์๋ ๋ณต์กํ ๋ฉ๋ด๋ ๋ก๋ํ๋ ๋ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ ค ์ธํฐ๋ท ์ฐ๊ฒฐ ์ํ๊ฐ ์ข์ง ์์ ์ง์ญ์ ์ฌ์ฉ์๋ฅผ ์ข์ ์ํฌ ์ ์์ต๋๋ค.
๋๋กญ๋ค์ด ๋ฐ ๋ฉ๊ฐ ๋ฉ๋ด๋ฅผ ์ํ ์ฃผ์ ์ ๊ทผ์ฑ ์์น
๋ช ๊ฐ์ง ์ฃผ์ ์์น์ด ์ ๊ทผ์ฑ ๋์ ๋ฉ๋ด ๋์์ธ์ ๋ท๋ฐ์นจํฉ๋๋ค.
1. ์๋งจํฑ HTML ๊ตฌ์กฐ
<nav>
, <ul>
๋ฐ <li>
์ ๊ฐ์ ์๋งจํฑ HTML ์์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๋ด์ ๋ํ ๋ช
ํํ๊ณ ๋
ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋ง๋ญ๋๋ค. ์ด๋ ๋ณด์กฐ ๊ธฐ์ ์ ๋ฉ๋ด์ ๋ชฉ์ ๊ณผ ๊ตฌ์ฑ์ ๋ํ ์ค์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
์:
<nav aria-label="๊ธฐ๋ณธ ๋ฉ๋ด">
<ul>
<li><a href="#">ํ</a></li>
<li>
<a href="#">์ ํ</a>
<ul>
<li><a href="#">์ ํ ์นดํ
๊ณ ๋ฆฌ 1</a></li>
<li><a href="#">์ ํ ์นดํ
๊ณ ๋ฆฌ 2</a></li>
</ul>
</li>
<li><a href="#">ํ์ฌ ์๊ฐ</a></li>
<li><a href="#">์ฐ๋ฝ์ฒ</a></li>
</ul>
</nav>
2. ARIA ์์ฑ
ARIA(Accessible Rich Internet Applications) ์์ฑ์ ๋์ ์ฝํ ์ธ ๋ฐ ๋ํํ ์์์ ์ ๊ทผ์ฑ์ ํฅ์์ํต๋๋ค. ARIA ์์ฑ์ ์ฌ์ฉํ์ฌ ๋ฉ๋ด์ ์ํ ๋ฐ ๋์์ ๋ํ ์ถ๊ฐ ์ ๋ณด๋ฅผ ๋ณด์กฐ ๊ธฐ์ ์ ์ ๊ณตํฉ๋๋ค.
๋ฉ๋ด์ ๋ํ ์ผ๋ฐ์ ์ธ ARIA ์์ฑ:
aria-haspopup="true"
: ์์์ ํ์ ๋ฉ๋ด ๋๋ ํ์ ๋ฉ๋ด๊ฐ ์์์ ๋ํ๋ ๋๋ค.aria-expanded="true|false"
: ๋ฉ๋ด ๋๋ ํ์ ๋ฉ๋ด๊ฐ ํ์ฌ ํ์ฅ๋์๋์ง ๋๋ ์ถ์๋์๋์ง ๋ํ๋ ๋๋ค. ์ด๋ JavaScript๋ก ๋์ ์ผ๋ก ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.aria-label
๋๋aria-labelledby
: ํนํ ์๊ฐ์ ๋ ์ด๋ธ์ด ์ถฉ๋ถํ์ง ์์ ๊ฒฝ์ฐ ๋ฉ๋ด์ ๋ํ ์ค๋ช ๋ ์ด๋ธ์ ์ ๊ณตํฉ๋๋ค.role="menu"
,role="menubar"
,role="menuitem"
,role="menuitemradio"
,role="menuitemcheckbox"
: ๋ฉ๋ด ๊ตฌ์กฐ ๋ด์์ ์์์ ์ญํ ์ ์ ์ํฉ๋๋ค.
์:
<button aria-haspopup="true" aria-expanded="false" aria-label="ํ์ ๋ฉ๋ด ์ด๊ธฐ">๋ฉ๋ด</button>
<nav aria-label="๊ธฐ๋ณธ ๋ฉ๋ด" role="navigation">
<ul role="menu">
<li role="menuitem"><a href="#">ํ</a></li>
<li role="menuitem" aria-haspopup="true" aria-expanded="false">
<a href="#">์ ํ</a>
<ul role="menu">
<li role="menuitem"><a href="#">์ ํ ์นดํ
๊ณ ๋ฆฌ 1</a></li>
<li role="menuitem"><a href="#">์ ํ ์นดํ
๊ณ ๋ฆฌ 2</a></li>
</ul>
</li>
<<li role="menuitem">a href="#">ํ์ฌ ์๊ฐ</a></li>
<li role="menuitem"><a href="#">์ฐ๋ฝ์ฒ</a></li>
</ul>
</nav>
3. ํค๋ณด๋ ํ์
ํค๋ณด๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๋ฉ๋ด ํญ๋ชฉ์ ์ก์ธ์คํ๊ณ ํ์ฑํํ ์ ์๋์ง ํ์ธํฉ๋๋ค. ์ฌ์ฉ์๋ ํญ ํค, ํ์ดํ ํค ๋ฐ Enter ํค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๋ด๋ฅผ ํ์ํ ์ ์์ด์ผ ํฉ๋๋ค.
ํค๋ณด๋ ํ์ ๋ชจ๋ฒ ์ฌ๋ก:
- ํญ ์์: ํญ ์์๋ ๋ฉ๋ด ํญ๋ชฉ์ ๋ ผ๋ฆฌ์ ์๊ฐ์ ์์๋ฅผ ๋ฐ๋ผ์ผ ํฉ๋๋ค.
- ํฌ์ปค์ค ํ์: ํ์ฌ ์ ํ๋ ๋ฉ๋ด ํญ๋ชฉ์ ๋ณด์ฌ์ฃผ๋ ๋ช ํํ๊ณ ๋ณด์ด๋ ํฌ์ปค์ค ํ์๊ธฐ(์: CSS ์ค๊ณฝ์ )๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ํ์ดํ ํค ํ์: ํ์ดํ ํค๋ฅผ ์ฌ์ฉํ์ฌ ํ์ ๋ฉ๋ด ๋ด์์ ํ์ํฉ๋๋ค.
- Enter ํค ํ์ฑํ: Enter ํค๋ ํ์ฌ ํฌ์ปค์ค๊ฐ ์๋ ๋ฉ๋ด ํญ๋ชฉ์ ํ์ฑํํด์ผ ํฉ๋๋ค.
- Escape ํค ๋ซ๊ธฐ: Escape ํค๋ ์ด๋ ค ์๋ ํ์ ๋ฉ๋ด๋ฅผ ๋ซ์์ผ ํฉ๋๋ค.
4. ํฌ์ปค์ค ๊ด๋ฆฌ
์ ์ ํ ํฌ์ปค์ค ๊ด๋ฆฌ๋ ํค๋ณด๋ ์ฌ์ฉ์์๊ฒ ๋งค์ฐ ์ค์ํฉ๋๋ค. ํ์ ๋ฉ๋ด๊ฐ ์ด๋ฆฌ๋ฉด ํฌ์ปค์ค๊ฐ ํ์ ๋ฉ๋ด์ ์ฒซ ๋ฒ์งธ ํญ๋ชฉ์ผ๋ก ์๋์ผ๋ก ์ด๋ํด์ผ ํฉ๋๋ค. ํ์ ๋ฉ๋ด๊ฐ ๋ซํ๋ฉด ํฌ์ปค์ค๊ฐ ์์ ๋ฉ๋ด ํญ๋ชฉ์ผ๋ก ๋์๊ฐ์ผ ํฉ๋๋ค.
5. ์์ ๋๋น
๋ฉ๋ด ํ ์คํธ์ ๋ฐฐ๊ฒฝ ์ฌ์ด์ ์ถฉ๋ถํ ์์ ๋๋น๋ฅผ ๋ณด์ฅํฉ๋๋ค. ์ด๋ ํนํ ์ ์๋ ฅ ์ฌ์ฉ์์๊ฒ ์ค์ํฉ๋๋ค. ์์ ๋๋น ๋น์จ์ ๋ํ WCAG(์น ์ฝํ ์ธ ์ ๊ทผ์ฑ ์ง์นจ) 2.1 AA ํ์ค์ ์ค์ํฉ๋๋ค.
6. ๋ฐ์ํ ๋์์ธ
๋ฉ๋ด๋ ๋ฐ์ํ์ด์ด์ผ ํ๋ฉฐ ๋ค์ํ ํ๋ฉด ํฌ๊ธฐ์ ๋ง์ถฐ์ผ ํฉ๋๋ค. ์์ ํ๋ฉด์์๋ "ํ๋ฒ๊ฑฐ" ๋ฉ๋ด ๋๋ ๊ธฐํ ๋ชจ๋ฐ์ผ์ ์น์ํ ํ์ ํจํด์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ค์ํ ์ฅ์น ๋ฐ ํ๋ฉด ํด์๋์์ ๋ฉ๋ด๋ฅผ ํ ์คํธํฉ๋๋ค.
7. ๋ช ํํ๊ณ ๊ฐ๊ฒฐํ ๋ ์ด๋ธ
๋ชจ๋ ๋ฉ๋ด ํญ๋ชฉ์ ๋ช ํํ๊ณ ๊ฐ๊ฒฐํ ๋ ์ด๋ธ์ ์ฌ์ฉํฉ๋๋ค. ์ฌ์ฉ์์๊ฒ ํผ๋์ ์ค ์ ์๋ ์ ๋ฌธ ์ฉ์ด๋ ๋ชจํธํ ์ธ์ด๋ ํผํ์ญ์์ค. ๋ค๊ตญ์ด ์ฌ์ฉ์๋ฅผ ์ํด ๋ฒ์ญ์ ๊ณ ๋ คํ์ญ์์ค.
8. ํธ๋ฒ ์ํ๋ง ์ฌ์ฉํ์ง ๋ง์ญ์์ค.
ํธ๋ฒ ์ํ์๋ง ์์กดํ์ฌ ํ์ ๋ฉ๋ด๋ฅผ ํ์ํ๋ ๊ฒ์ ํค๋ณด๋ ์ฌ์ฉ์์ ํฐ์น ์ฅ์น์ ์ฌ์ฉ์์๊ฒ ์ ๊ทผ์ฑ์ด ๋จ์ด์ง๋๋ค. ํค๋ณด๋ ์ํธ ์์ฉ๊ณผ ํฐ์น ์ ์ค์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๋ด๋ฅผ ํ์ฅํ๊ณ ์ถ์ํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
์ ๊ทผ์ฑ ๋์ ๋๋กญ๋ค์ด ๋ฉ๋ด ๊ตฌํ
๋๋กญ๋ค์ด ๋ฉ๋ด๋ ํนํ ์ ๋นํ ์์ ๋ฉ๋ด ํญ๋ชฉ์ ์ฒ๋ฆฌํ ๋ ํ์์ ๊ตฌ์ฑํ๋ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค. ์ ๊ทผ์ฑ ๋์ ๋๋กญ๋ค์ด ๋ฉ๋ด๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- HTML ๊ตฌ์กฐ:
<li>
์์ ๋ด์ ์ค์ฒฉ๋<ul>
๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋๋กญ๋ค์ด ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๋ง๋ญ๋๋ค. - ARIA ์์ฑ: ๋๋กญ๋ค์ด์ ํธ๋ฆฌ๊ฑฐํ๋ ์์ ๋ฉ๋ด ํญ๋ชฉ์
aria-haspopup="true"
๋ฅผ ์ถ๊ฐํฉ๋๋ค. ๋๋กญ๋ค์ด์ด ์ด๋ ค ์์ ๋๋aria-expanded="true"
๋ฅผ ์ฌ์ฉํ๊ณ ๋ซํ ์์ ๋๋aria-expanded="false"
๋ฅผ ์ฌ์ฉํฉ๋๋ค. - ํค๋ณด๋ ํ์: ์ฌ์ฉ์๊ฐ ํญ ํค์ ํ์ดํ ํค๋ฅผ ์ฌ์ฉํ์ฌ ๋๋กญ๋ค์ด ํญ๋ชฉ์ ํ์ํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
- ํฌ์ปค์ค ๊ด๋ฆฌ: ๋๋กญ๋ค์ด์ด ์ด๋ฆฌ๋ฉด ๋๋กญ๋ค์ด์ ์ฒซ ๋ฒ์งธ ํญ๋ชฉ์ ํฌ์ปค์ค๋ฅผ ์ค์ ํฉ๋๋ค. ๋ซํ๋ฉด ํฌ์ปค์ค๋ฅผ ์์ ๋ฉ๋ด ํญ๋ชฉ์ผ๋ก ๋๋๋ฆฝ๋๋ค.
- CSS ์คํ์ผ ์ง์ : CSS๋ฅผ ์ฌ์ฉํ์ฌ ์คํฌ๋ฆฐ ๋ฆฌ๋์ ์ ๊ทผ์ฑ์ ์ ์งํ๋ฉด์ ๋๋กญ๋ค์ด ์ฝํ ์ธ ๋ฅผ ์๊ฐ์ ์ผ๋ก ์จ๊ธฐ๊ฑฐ๋ ํ์ํฉ๋๋ค.
๋๋กญ๋ค์ด ๊ธฐ๋ฅ์ ์ํ JavaScript ์์ :
const dropdowns = document.querySelectorAll('.dropdown');
dropdowns.forEach(dropdown => {
const button = dropdown.querySelector('button[aria-haspopup="true"]');
const menu = dropdown.querySelector('.dropdown-menu');
button.addEventListener('click', () => {
const isExpanded = button.getAttribute('aria-expanded') === 'true';
button.setAttribute('aria-expanded', !isExpanded);
menu.classList.toggle('show');
});
});
์ ๊ทผ์ฑ ๋์ ๋ฉ๊ฐ ๋ฉ๋ด ๊ตฌํ
๋ฉ๊ฐ ๋ฉ๋ด๋ ์ด๋ฏธ์ง, ํ ์คํธ ๋ฐ ๋งํฌ๋ฅผ ํฌํจํ์ฌ ์๋นํ ์์ ์ฝํ ์ธ ๋ฅผ ํ์ํ ์ ์๋ ๋ ํฌ๊ณ ๋ค์ค ์ด ๋ฉ๋ด์ ๋๋ค. ์๊ฐ์ ์ผ๋ก ๋งค๋ ฅ์ ์ด๊ณ ์ ์ตํ ์ ์์ง๋ง ์ ๊ทผ์ฑ ์ธก๋ฉด์์ ๋ ์ค์ํ ๋ฌธ์ ๋ ์ ๊ธฐํฉ๋๋ค.
- HTML ๊ตฌ์กฐ: ์ ๋ชฉ, ๋ชฉ๋ก ๋ฐ ๋จ๋ฝ๊ณผ ๊ฐ์ ์๋งจํฑ HTML ์์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๊ฐ ๋ฉ๋ด ๋ด์ ์ฝํ ์ธ ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
- ARIA ์์ฑ: ARIA ์์ฑ์ ์ฌ์ฉํ์ฌ ๋ฉ๊ฐ ๋ฉ๋ด ๋ด์ ๋ค๋ฅธ ์น์ ์ ์ญํ ์ ์ ์ํ๊ณ ํธ๋ฆฌ๊ฑฐ ์์์ ๋ฉ๊ฐ ๋ฉ๋ด ์ฝํ ์ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ ๋๋ค.
- ํค๋ณด๋ ํ์: ๋ช ํํ๊ณ ๋ ผ๋ฆฌ์ ์ธ ํค๋ณด๋ ํ์ ์์คํ ์ ๊ตฌํํ์ฌ ์ฌ์ฉ์๊ฐ ๋ฉ๊ฐ ๋ฉ๋ด์ ๋ชจ๋ ์น์ ์ ์ฝ๊ฒ ํ์ํ ์ ์๋๋ก ํฉ๋๋ค.
- ํฌ์ปค์ค ๊ด๋ฆฌ: ํฌ์ปค์ค๊ฐ ํญ์ ๋ ผ๋ฆฌ์ ์ด๊ณ ์์ธก ๊ฐ๋ฅํ ์์น์ ์๋์ง ํ์ธํ๋ฉด์ ํฌ์ปค์ค ๊ด๋ฆฌ์ ์ธ์ฌํ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด์ญ์์ค.
- ๋ฐ์ํ ๋์์ธ: ๋ฉ๊ฐ ๋ฉ๋ด๋ ์์ ํ๋ฉด์์ ์ ์๋ํ๋๋ก ์๋นํ ์กฐ์ ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ ์ฒด ํ๋ฉด ์ค๋ฒ๋ ์ด ๋๋ ๊ธฐํ ๋ชจ๋ฐ์ผ์ ์น์ํ ๋์์ธ ํจํด์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ๊ณผ๋ํ ์ฝํ ์ธ ๋ฐฉ์ง: ๋ฉ๊ฐ ๋ฉ๋ด๋ ๋ง์ ์ ๋ณด๋ฅผ ํ์ํ๋๋ก ์ค๊ณ๋์์ง๋ง ์ฌ์ฉ์์๊ฒ ์๋์ ์ผ ์ ์๋ ๋๋ฌด ๋ง์ ์ฝํ ์ธ ๋ก ๊ณผ๋ถํ๋ฅผ ์ฃผ์ง ๋ง์ญ์์ค.
์: ๊ตญ์ ์ ์ ์๊ฑฐ๋ ์์ ์ ์ํ ๋ฉ๊ฐ ๋ฉ๋ด:
์ ์ธ๊ณ์ ์ผ๋ก ์ ํ์ ํ๋งคํ๋ ์จ๋ผ์ธ ์๋งค์ ์ฒด๋ฅผ ์์ํด ๋ณด์ญ์์ค. ๋ฉ๊ฐ ๋ฉ๋ด์๋ ๋ค์์ด ํฌํจ๋ ์ ์์ต๋๋ค.
- ์ง์ญ๋ณ ์นดํ ๊ณ ๋ฆฌ: "์ ๋ฝ ์ผํ", "์์์ ์ผํ", "๋ถ๋ฏธ ์ผํ"์ ๊ฐ๊ฐ ํด๋น ์ง์ญ์์ ์ธ๊ธฐ ์๋ ์ ํ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ํ์ฅ๋ฉ๋๋ค.
- ํตํ ์ต์ : ์ ํธํ๋ ํตํ(USD, EUR, JPY ๋ฑ)๋ฅผ ์ ํํ ์ ์๋ ๋ช ํํ๊ฒ ๋ณด์ด๋ ์น์ ์ ๋๋ค.
- ์ธ์ด ์ ํ: ์น์ฌ์ดํธ์ ๋ฒ์ญ๋ ๋ฒ์ (์์ด, ์คํ์ธ์ด, ํ๋์ค์ด, ์ค๊ตญ์ด ๋ฑ)์ ๋ํ ๋งํฌ์ ๋๋ค.
- ๋์๋ง ๋ฐ ์ง์: ๊ณ ๊ฐ ์๋น์ค, FAQ ๋ฐ ๊ตญ์ ๋ฐฐ์ก ์ ๋ณด์ ๋ํ ์ง์ ๋งํฌ์ ๋๋ค.
ํ ์คํธ ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ
๋ฉ๋ด์ ์ ๊ทผ์ฑ์ ๋ณด์ฅํ๋ ค๋ฉด ์ฒ ์ ํ ํ ์คํธ๊ฐ ํ์์ ์ ๋๋ค. ์๋ํ๋ ํ ์คํธ ๋๊ตฌ์ ์๋ ํ ์คํธ ๊ธฐ์ ์ ํจ๊ป ์ฌ์ฉํ์ญ์์ค.
ํ ์คํธ ๋๊ตฌ:
- WAVE(์น ์ ๊ทผ์ฑ ํ๊ฐ ๋๊ตฌ): ์ ๊ทผ์ฑ ์ค๋ฅ๋ฅผ ์๋ณํ๊ณ ๊ฐ์ ์ ์ํ ์ ์์ ์ ๊ณตํ๋ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋๋ค.
- axe DevTools: ์น์ฌ์ดํธ ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์๋ํ๋ ์ ๊ทผ์ฑ ํ ์คํธ ๋๊ตฌ์ ๋๋ค.
- ์คํฌ๋ฆฐ ๋ฆฌ๋ ํ ์คํธ: NVDA, JAWS ๋ฐ VoiceOver์ ๊ฐ์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์คํฌ๋ฆฐ ๋ฆฌ๋๋ก ๋ฉ๋ด๋ฅผ ํ ์คํธํฉ๋๋ค.
์๋ ํ ์คํธ:
- ํค๋ณด๋ ํ์ ํ ์คํธ: ํค๋ณด๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๋ด๋ฅผ ํ์ํ์ฌ ๋ชจ๋ ์์์ ์ก์ธ์คํ ์ ์๊ณ ํฌ์ปค์ค๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๊ด๋ฆฌ๋๋์ง ํ์ธํฉ๋๋ค.
- ์์ ๋๋น ํ ์คํธ: ์์ ๋๋น ๋ถ์๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ์์ ๋๋น ๋น์จ์ด WCAG ์ง์นจ์ ์ถฉ์กฑํ๋์ง ํ์ธํฉ๋๋ค.
- ์ฌ์ฉ์ ํ ์คํธ: ์ฅ์ ๊ฐ ์๋ ์ฌ์ฉ์๋ฅผ ํ ์คํธ ํ๋ก์ธ์ค์ ์ฐธ์ฌ์์ผ ๋ฉ๋ด์ ์ฌ์ฉ์ฑ๊ณผ ์ ๊ทผ์ฑ์ ๋ํ ๊ท์คํ ํผ๋๋ฐฑ์ ์ป์ต๋๋ค.
๊ธ๋ก๋ฒ ์ ๊ทผ์ฑ์ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํด ๋ฉ๋ด๋ฅผ ์ค๊ณํ ๋๋ ๋ค์๊ณผ ๊ฐ์ ์ถ๊ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ณ ๋ คํ์ญ์์ค.
- ์ธ์ด ์ง์: ๋ฉ๋ด๊ฐ ์ฌ๋ฌ ์ธ์ด๋ก ๋ฒ์ญ๋์ด ์๊ณ ์ธ์ด ์ ํ์ ์ฝ๊ฒ ์ก์ธ์คํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
- ๋ ์ง ๋ฐ ์๊ฐ ํ์: ํผ๋์ ํผํ๊ธฐ ์ํด ๊ตญ์ ๋ ์ง ๋ฐ ์๊ฐ ํ์(์: ISO 8601)์ ์ฌ์ฉํฉ๋๋ค.
- ํตํ ๋ณํ: ๋ช ํํ ํตํ ๋ณํ ์ต์ ์ ์ ๊ณตํ๊ณ ํ์ง ํตํ๋ก ๊ฐ๊ฒฉ์ ํ์ํฉ๋๋ค.
- ๋ฐฐ์ก ์ ๋ณด: ๋ค์ํ ์ง์ญ ๋ฐ ๊ตญ๊ฐ์ ๋ํ ์์ธํ ๋ฐฐ์ก ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ๋ฌธํ์ ๊ฐ์์ฑ: ๋ฉ๋ด๋ฅผ ๋์์ธํ ๋ ๋ฌธํ์ ์ฐจ์ด์ ์ ์ํ์ญ์์ค. ํน์ ๋ฌธํ๊ถ์์ ๋ถ์พ๊ฐ์ ์ฃผ๊ฑฐ๋ ๋ถ์ ์ ํ ์ ์๋ ์ด๋ฏธ์ง๋ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ง ๋ง์ญ์์ค.
- ์ฐ๊ธฐ ๋ฐฉํฅ: ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ(LTR) ์ธ์ด์ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ(RTL) ์ธ์ด๋ฅผ ๋ชจ๋ ์ง์ํฉ๋๋ค.
๊ฒฐ๋ก
์ ๊ทผ์ฑ ๋์ ๋๋กญ๋ค์ด ๋ฐ ๋ฉ๊ฐ ๋ฉ๋ด๋ฅผ ๋ง๋ค๋ ค๋ฉด ์ ์คํ ๊ณํ๊ณผ ์ธ์ฌํ ์ฃผ์๊ฐ ํ์ํฉ๋๋ค. ์ด ๊ฐ์ด๋์ ์ค๋ช ๋ ์์น๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๋ฉด ๋ฅ๋ ฅ์ด๋ ์์น์ ๊ด๊ณ์์ด ๋ชจ๋ ์ฌ๋์ด ์น์ฌ์ดํธ๋ฅผ ํ์ํ๊ณ ์ฌ์ฉํ ์ ์๋๋ก ํ ์ ์์ต๋๋ค. ์ ๊ทผ์ฑ์ ์ผํ์ฑ ์์ ์ด ์๋๋ผ ์ง์์ ์ธ ํ๋ก์ธ์ค์์ ๊ธฐ์ตํ์ญ์์ค. ์น์ฌ์ดํธ๊ฐ ๋ฐ์ ํจ์ ๋ฐ๋ผ ๋ฉ๋ด๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ํ ์คํธํ๊ณ ์ ๋ฐ์ดํธํ์ฌ ์ ๊ทผ์ฑ์ ์ ์งํ์ญ์์ค.
์ ๊ทผ์ฑ์ ์ฐ์ ์ํจ์ผ๋ก์จ ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ๋์ฑ ํฌ๊ด์ ์ธ ๊ฒฝํ์ ์ ๊ณตํ ๋ฟ๋ง ์๋๋ผ ์น์ฌ์ดํธ์ ์ ๋ฐ์ ์ธ ์ฌ์ฉ์ฑ๊ณผ SEO๋ฅผ ํฅ์์์ผ ๊ถ๊ทน์ ์ผ๋ก ๋น์ฆ๋์ค์ ์ฌ์ฉ์์๊ฒ ์ด์ต์ด ๋ฉ๋๋ค.